﻿// 4979. 合适的环.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*
https://www.acwing.com/problem/content/4982/

给定一个 n
 个点 m
 条边的无向图。

图中不含重边和自环。

请你在图中选出一个由三个点组成的环。

设图中一共有 x
 条边满足：不在选择的环内，且与选择的环内某个点相连。

我们希望通过合理选环，使得 x
 的值尽可能小。

请你输出 x
 的最小可能值。

输入格式
第一行包含两个整数 n,m
。

接下来 m
 行，每行包含两个整数 a,b
，表示点 a
 和点 b
 之间存在一条无向边。

输出格式
如果存在满足条件的环，则输出 x
 的最小可能值。

否则，输出 -1。

数据范围
前 3
 个测试点满足 3≤n≤10
，0≤m≤10
。
所有测试点满足 3≤n≤4000
，0≤m≤4000
，1≤a,b≤n
，a≠b
。

输入样例1：
5 6
1 2
1 3
2 3
2 4
3 4
4 5
输出样例1：
2
样例1解释
给定图中，由三个点组成的环一共有两个，分别为点 1,2,3
 组成的环以及点 2,3,4
 组成的环。

对于点 1,2,3
 组成的环，我们逐个分析每条边是否满足：不在环内，且与环内的某个点相连。

边 (1,2)
 在环内。
边 (1,3)
 在环内。
边 (2,3)
 在环内。
边 (2,4)
 不在环内，且与点 2
 相连。
边 (3,4)
 不在环内，且与点 3
 相连。
边 (4,5)
 不在环内，但是与点 1,2,3
 均不相连。
因此，如果选择点 1,2,3
 组成的环，则 x
 的值为 2
。

对于点 2,3,4
 组成的环，我们逐个分析每条边是否满足：不在环内，且与环内的某个点相连。

边 (1,2)
 不在环内，且与点 2
 相连。
边 (1,3)
 不在环内，且与点 3
 相连。
边 (2,3)
 在环内。
边 (2,4)
 在环内。
边 (3,4)
 在环内。
边 (4,5)
 不在环内，且与点 4
 相连。
因此，如果选择点 2,3,4
 组成的环，则 x
 的值为 3
。

综上，x
 的最小可能值为 2
。

输入样例2：
7 4
2 1
3 6
5 1
1 7
输出样例2：
-1
*/
int main()
{
    std::cout << "Hello World! 4979\n";
}

 